﻿using System;
using System.Collections;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Part1();
            part2();
        }
        //第一题：
        //一个考试管理系统，需要录入考生成绩，只能录入数字，否则会报类型转换异常。
        //请编写相关代码，
        //1、捕获FormatException异常，并打印输出“异常已处理；
        //2、捕获OverflowException异常，数值超出double范围的异常，并打印输出“异常已处理；
        //3、捕获一般异常Exception异常。
        //4、最终处理finally
        //录入成绩结束后，请输出，总学生数，总分数，平均分。

        private static void Part1()
        {
            try
            {
                int students = 0;
                float sum = 0;
                float avg = 0;
                string no = null;

                while (true)
                {
                    Console.WriteLine("请输入考试分数：");
                    float num = float.Parse(Console.ReadLine());
                    Console.WriteLine("请问还要继续输入吗？（yes/no）");
                    no = Console.ReadLine();
                    if (no.Equals("yes"))
                    {
                        students++;
                        for (int i = 0; i < students; i++)
                        {
                            sum = sum + num;
                            break;
                        }

                    }
                    else
                    {
                        students++;
                        for (int i = 0; i < students; i++)
                        {
                            sum = sum + num;
                            break;

                        }
                        break;

                    }


                }
                avg = sum / students;
                Console.WriteLine("总人数：{ 0}，总分数：{ 1}，平均分：{ 2} ", students, sum, avg);

            }
            catch (FormatException)
            {
                Console.WriteLine("格式化异常已处理！");
            }
            catch (OverflowException)
            {
                Console.WriteLine("超出范围异常已处理！");
            }
            catch (Exception)
            {
                Console.WriteLine("异常已处理！");
            }
            finally
            {
                Console.WriteLine("最终处理！");
            }

        }
        private static void part2()
        {
            try
            {
                float save = 0;
                float load = 0;
                ArrayList list = new ArrayList();
                while (true)
                {
                    Console.WriteLine("请选择是要执行的功能：1、存款 2、取款");
                    int key = int.Parse(Console.ReadLine());
                    switch (key)
                    {
                        case 1:
                            Console.WriteLine("请输入存款金额：");
                            save = float.Parse(Console.ReadLine());
                            list.Add(save);
                            Console.WriteLine("存款金额是：{0},存款成功！", save);
                            break;
                        case 2:
                            Console.WriteLine("请输入取款金额：");
                            load = float.Parse(Console.ReadLine());
                            if (load > save)
                            {
                                throw new Exception("取款金额大于余额，请重新输入!");
                            }
                            else
                            {
                                Console.WriteLine("取款成功！剩余金额：{0}", save - load);
                            }
                            break;
                        default:
                            Console.WriteLine("所剩余额不足！");
                            break;
                    }

                }
            }
            catch (Exception)
            {
                Console.WriteLine(" ");
                throw;
            }

        }
    }

}

